package com.peng.ivos.vehicle.mapper;

import com.peng.ivos.base.response.JsonResult;
import com.peng.ivos.geofence.pojo.dto.GeofenceQuery;
import com.peng.ivos.vehicle.pojo.dto.VehicleQuery;
import com.peng.ivos.vehicle.pojo.dto.VehicleRepairSaveParam;
import com.peng.ivos.vehicle.pojo.entity.Vehicle;
import com.peng.ivos.vehicle.pojo.entity.VehicleRepair;
import com.peng.ivos.vehicle.pojo.vo.VehicleRepairVO;
import com.peng.ivos.vehicle.pojo.vo.VehicleVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 车辆管理持久层接口
 * @author： Peng
 * @date： 2024/5/22
 * @version: 1.0
 */
@Mapper
public interface VehicleMapper {
    List<VehicleVO> selectByExample(VehicleQuery vehicleQuery);

    Integer addVehicle(Vehicle vehicle);

    Integer updateVehicle(Vehicle vehicle);

    Integer delete(Long id);

    //更新车辆绑定信息
    Integer updateNullValue(Vehicle vehicle);

    Integer countGeofenceByExample(VehicleQuery vehicleQuery);

    List<VehicleRepairVO> getRepairCarList(VehicleQuery vehicleQuery);

    Integer getRepairCarListCount();

    List<VehicleVO> getAllVehicleLicense();

    Integer saveRepairVehicle(VehicleRepair vehicleRepair);

    VehicleRepairVO getRepairCarByRepairId(Long repairId);

    Integer updateVehicleRepair(VehicleRepair vehicleRepair);

    Integer deleteRepairVehicle(Long repairId);
}
